package top.gangster.lunan.templateservice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import top.gangster.lunan.templateservice.entity.TemplateContract;
import top.gangster.lunan.templateservice.entity.TemplateContractField;

/**
 * <p>
 * 合同模板的所有信息 服务类
 * </p>
 *
 * @author kid
 * @since 2021-11-06
 */
public interface TemplateContractService extends IService<TemplateContract> {

	/**
	 * 根据所属合同模板id查找出所有模板字段
	 * @return List
	 */
	List<TemplateContractField> getFieldsByTemplateId(String templateId);

	/**
	 * 根据模板名进行模糊分页查询
	 * @param current 当前页
	 * @param limit 页大小
	 * @param name 模糊匹配模板名
	 * @return 模糊分页查询结果
	 */
	Page<TemplateContract> getTemplate(Long current,Long limit,String name);

 	/**
	 * 指定某个合同模板id，将合同模板字段作为该模板的字段保存在数据库
	 * @param templateId 所属合同模板的id
	 * @param fields 合同模板字段
	 * @return is save?
	 */
	boolean saveFields(String templateId, List<TemplateContractField> fields);

	/**
	 * 根据模板文件id删除其所有模板字段
	 * @param templateId 模板文件id
	 * @return 是否成功删除
	 */
	boolean removeFieldsByTemplateId(String templateId);
}
